import request from './request';

/**
 * 签到
 * @param {Object} data - 签到信息
 * @param {string} data.location - 位置信息
 * @param {string} data.remark - 备注
 * @returns {Promise}
 */
export function checkIn(data) {
  return request({
    url: '/attendance/check-in',
    method: 'post',
    data
  });
}

/**
 * 签退
 * @param {Object} data - 签退信息
 * @param {string} data.location - 位置信息
 * @param {string} data.remark - 备注
 * @returns {Promise}
 */
export function checkOut(data) {
  return request({
    url: '/attendance/check-out',
    method: 'post',
    data
  });
}

/**
 * 获取今日考勤
 * @returns {Promise}
 */
export function getTodayAttendance() {
  return request({
    url: '/attendance/today',
    method: 'get'
  });
}

/**
 * 获取考勤历史
 * @param {Object} params - 查询参数
 * @param {string} params.startDate - 开始日期
 * @param {string} params.endDate - 结束日期
 * @param {number} params.status - 状态
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页条数
 * @returns {Promise}
 */
export function getAttendanceHistory(params) {
  return request({
    url: '/attendance/history',
    method: 'get',
    params
  });
}

/**
 * 申请请假
 * @param {Object} data - 请假信息
 * @param {number} data.leaveType - 请假类型
 * @param {number} data.leaveTime - 请假时长
 * @param {string} data.startDate - 开始日期
 * @param {string} data.endDate - 结束日期
 * @param {string} data.reason - 请假原因
 * @returns {Promise}
 */
export function applyLeave(data) {
  return request({
    url: '/attendance/leave',
    method: 'post',
    data
  });
}